﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CompanyBussiness;

namespace Website.admin.Control
{
    public partial class cCategoryNews : System.Web.UI.UserControl
    {
        NewsManagement newsMana = new NewsManagement();
        LanguagesManagement languageMana = new LanguagesManagement();
        CompanyBussiness.Language language;
        string modulCode;

        protected void Page_Load(object sender, EventArgs e)
        {
            fail.Visible = false;

            modulCode = Request.QueryString["Mod"];
            loadModul();
       
            if (Request.Cookies[CONST.COOKIES_LANGUAGE] == null)
            {
                Session[CONST.SESSION_LANGUAGE] = "";
                language = languageMana.GetLanguageByCode("vi-VN"); 
            }
            else
            {
                Session[CONST.SESSION_LANGUAGE] = Request.Cookies[CONST.COOKIES_LANGUAGE][CONST.COOKIES_LANGUAGE_ID];
                language = languageMana.GetLanguageByID(int.Parse(Session[CONST.SESSION_LANGUAGE].ToString()));
            }
            if (!Page.IsPostBack)
            {
                this.LoadTreeView();
            }
            
        }

        protected void loadModul()
        {
            switch(modulCode)
            {
                case "MNEWS":
                    {
                        litNameManagement.Text = "Quản lý tin tức";
                        btnAddCategory.Text = "Tạo danh mục tin tức";
                        btnAddCategory.Visible = true;
                    }                  
                    break;
                case "MSHAREHOLDERS":
                    {
                        litNameManagement.Text = "Quản lý quan hệ cổ đông";
                        btnAddCategory.Text = "Tạo danh mục quan hệ cổ đông";
                        btnAddCategory.Visible = true;
                    }
                    break;
                case "MJOB":
                    {
                        litNameManagement.Text = "Quản lý tuyển dụng";
                        btnAddCategory.Visible = false;
                    } 
                    break;
                case "MHELP":
                    {
                        litNameManagement.Text = "Quản lý trợ giúp";
                        btnAddCategory.Text = "Tạo danh mục trợ giúp người dùng";
                        btnAddCategory.Visible = true;
                    }
                    break;
                case "MCONTACT":
                    {
                        litNameManagement.Text = "Quản lý liên hệ";
                        btnAddCategory.Visible = false;
                    }
                    break;
                case "MINTRO":
                    {
                        litNameManagement.Text = "Quản lý giới thiệu";
                        btnAddCategory.Text = "Tạo danh mục giới thiệu";
                        btnAddCategory.Visible = true;
                    }
                    break;
            }
                

        }

        protected void LoadTreeView()
        {
            try
            {
                List<Category> listParentNews = newsMana.GetParentCategoryAll(language.LanguagesID,modulCode);
                foreach (var pNews in listParentNews)
                {
                    TreeNode root = new TreeNode();
                    root.Text = pNews.CategoryName.ToString();
                    root.NavigateUrl = Request.CurrentExecutionFilePath + "?"+CONST.ACTION+"=CreateCategory&"+CONST.QUERYSTRING_CATEGORY+"=" + pNews.CategoryID.ToString()+"&Mod="+modulCode;
                    root.ToolTip = "Click để cập nhật cho danh mục này";
                    List<Category> listChildNews = newsMana.GetChildrenCategoryByParentIDAll((int)pNews.CategoryID, (int)language.LanguagesID,modulCode);
                    foreach (var cNews in listChildNews)
                    {
                        TreeNode child = new TreeNode();
                        child.Text = cNews.CategoryName.ToString();
                        child.NavigateUrl = Request.CurrentExecutionFilePath + "?" + CONST.ACTION + "=CreateCategory&" + CONST.QUERYSTRING_CATEGORY + "=" + cNews.CategoryID.ToString() + "&Mod=" + modulCode;
                        child.ToolTip = "Click để cập nhật cho danh mục này";
                        
                        root.ChildNodes.Add(child);
                    }
                    TreeViewCagtegoryNews.Nodes.Add(root);
                }

                TreeViewCagtegoryNews.CollapseAll();
            }
            catch (Exception)
            {
                fail.Visible = true;
                lbError.Text = "Có lỗi trong khi Load dữ liệu . Bạn hãy thử lại.";
            }    
        }

        protected void btnAddCategory_Click(object sender, EventArgs e)
        {
            Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_NAME] = "AddNewCategory";
            Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_TYPE] = "AddCategory";
            Response.Redirect("Administrator.aspx?" + CONST.ACTION + "=AddNewCategory&Mod=" + modulCode);
        }

        protected void TreeViewCagtegoryNews_SelectedNodeChanged(object sender, EventArgs e)
        {
            if (TreeViewCagtegoryNews.SelectedNode.Text == "Thêm mới bài viết")
            {

            }
            else
            {
                Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_NAME] = "CreateCategory";
                Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_TYPE] = "UpdateCategory";
            }
        }
    }
}